package Gather.CollectionExercise;

import java.util.ArrayList;
import java.util.Collection;

/**
 * ClassName:CollectionText002
 * Package:Gather.CollectionExercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/5-19:30
 * @Version:v1.0
 */
public class CollectionText002 {
    /*
     *  public boolean add(E e)  把给定的对象添加到当前集合中
     *  public void clear()   清空集合中的所有元素
     *  public boolean remove(E e) 把给定的对象在当前集合中删除
     *  public boolean contains(Object obj)  判断当前集合中是否包含给定对象
     *  public boolean isEmpty 判断当前集合是否为空
     *  public int size() 返回集合中元素的个数/集合的长度
     *
     * Collection 是一个接口,我们不能直接创建他的对象
     * 所以,现在我们要学习他的方法,只能创建他的实现类对象
     * 实现类--ArrayList*/
    public static void main(String[] args) {
        //目的：为了学习Collection接口里面的方法
        Collection<String> coll = new ArrayList<>();
        //添加元素
        /*细节
        * 1.如果我们往List系列集合中添加元素,那么方法永远返回true,因为List系列的是允许元素重复
        * 2.如果我们往Set系列集合中添加元素,如果当前要添加的元素不存在,方法返回true,表示添加成功
        *                             如果当前要添加的元素已经存在,方法返回false,表示添加shib
        * 因为Set系列集合不允许重复*/


        //添加
        coll.add("aaa");
        coll.add("bbb");
        coll.add("ccc");
        System.out.println(coll);


        //清空
//        coll.clear();
//        System.out.println(coll);


        //删除：因为Collection里面定义的是共性的方法,所以此时不能通过索引进行删除,只能通过元素的对象进行删除
        //方法会有一个布尔类型的返回值,删除成功返回true,删除失败返回false
        //如果要删除的元素不存在,就会删除失败
        System.out.println(coll.remove("aaa"));
        System.out.println(coll);

        //判断当前集合中是否包含给定对象
        //细节：底层是依赖equals方法进行判断是否存在的
        //所以如果集合中存储的是自定义对象,也想通过contains方法来判断是否包含,那么在javabean类中,一定要重写equals方法
        boolean result1 = coll.contains("aaa");
        boolean result2 = coll.contains("bbb");
        System.out.println(result1);//false
        System.out.println(result2);//true


        //判断集合是否为空
        boolean result3 = coll.isEmpty();
        System.out.println(result3);

        //获取集合长度
        coll.add("ddd");
        int size = coll.size();
        System.out.println(size);
    }
}
